3Debug is a stand-alone application you can use to inspect the private memory pools of QuickDraw™ 3D client applications. If you are using 3Debug for the first time, be sure to read the section "Getting Started" to insure you have an environment that supports 3Debug.
New In This Version
This version introduces:
• instance counts in the Legend window
• offscreen buffering in more places to reduce flicker
• triangle buttons in the Legend window that provide feedback
Getting Started
Before you can run 3Debug, you should be running the debug version of the QuickDraw 3D extensions.
How To Use 3Debug
3Debug displays the pool in its main document window, called the Pool window.
To zoom the view in or out, (which changes how many pixels are taken up by a "unit" of visible memory), click the zoom mountain buttons in the lower-left hand corner of the document window, or choose Zoom In or Zoom Out from the View menu.
To increase or decrease the "byte resolution" (which changes how many bytes make up a unit of visible memory), click on the "K" buttons in the lower-left hand corner of the document window, or choose Increase Resolution or Decrease Resolution from the View menu.
To get info about a block such as reference counts, type, and byte size, click on the block in the Pool window and then look at the Block Info window.
To inspect the contents of a block, click on it in the Pool window and then click the Open button in the Block Info window, or choose Open Block from the File menu. All objects display as scrollable hexadecimal/ASCII data.
To filter what types of blocks are displayed in the Pool window, click the check boxes and radio buttons in the Legend window. Use the triangle buttons to show and hide various sections of the QuickDraw 3D object class hierarchy.
You can show or hide the Block Info, Legend, and Error Message windows using the Window menu.
To find a block or object for which you have its address, enter the address into the Address field in the Block Info window, and then click the Find button. The block is selected in the Pool window.
To resolve an error code to its corresponding symbol, enter the code in the Error Message window and then click the Lookup button.
To select automatic or manual Pool window redrawing, choose one of the Refresh choices from the View menu.
To select automatic or manual Pool validation, choose one of the Validate choices from the Special menu.
3Debug sniffs for the death of a client and closes the Pool window when this happens. Client communications are extensively checked for all known failure points.
3Debug recovers from attempts to resolve bad pointers using a new hardware-based exception handling mechanism.
3Debug displays the address and size of a block's contents, ignoring the block's header record. This change was made to synchronize 3Debug with the addresses provided by the QuickDraw 3D API allocators.
Know Problems/Limitations
After you type in a text box in the Error Message or Block Info window, sometimes you cannot access many of the menu commands until you click in the contents of the Pool window.
The Future
Later versions of 3Debug provide object browsing templates, leak detection, new block filtering methods, and perform other relevant tasks. These features will be made available along with the next external release of QuickDraw 3D.
Please direct questions, comments, or requests for enhancements to: